The present invention relates generally to the field of computer file system management, and more particularly to minimizing data copy operations within the file system.
Modern storage controllers provide a mechanism of multi-tiered storage where data is stored on various types of storage devices primarily based on criteria of the access, frequency of use, security and data recovery requirements. For example, data that is frequently accessed by an application that is sensitive to response time might be stored on a solid state drive (SSD). Other data that is infrequently accessed and for which a longer response time is more tolerable might be stored on a conventional disk drive. The cost of storage is typically higher for SSDs than it is for disk drives of comparable storage capacity.
In a multi-tiered storage system, there are at least two tiers available in which one tier provides a relatively fast response time and the other is relatively slower. Since storage with faster response times is typically more expensive than storage with slower response times, the capacity of faster storage is typically smaller than that of slower storage. Based on the data access frequency, conventional multi-tier algorithms “promote” “hot data” (data that is accessed relatively frequently) to a faster tier and “demote” “cold data” (data that is accessed relatively less frequently) to a slower tier. This promotion and demotion process of data extents (see definition in the Definitions sub-section of the Detailed Description section below) typically involves relocation of the data from one tier to another using copy operations that are performed without the knowledge of the application.